home *** CD-ROM | disk | FTP | other *** search
/ Champak 33 / Volume 33 - JOGO DISK .iso / Games / pin_ball_deluxe.swf / scripts / frame_4 / DoAction_2.as next >
Text File  |  2007-01-15  |  5KB  |  163 lines

  1. function distance(x0, y0)
  2. {
  3.    var _loc2_ = (this.a * x0 + this.b * y0 + this.c) / this.module;
  4.    return _loc2_;
  5. }
  6. function distancePoint(point)
  7. {
  8.    var _loc3_ = point._x;
  9.    var _loc2_ = point._y;
  10.    var _loc4_ = (this.a * _loc3_ + this.b * _loc2_ + this.c) / this.module;
  11.    return _loc4_;
  12. }
  13. function distancePointAbs(point)
  14. {
  15.    var _loc3_ = point._x;
  16.    var _loc2_ = point._y;
  17.    var _loc4_ = (this.a * _loc3_ + this.b * _loc2_ + this.c) / this.module;
  18.    distanceAbs = Math.abs(_loc4_);
  19.    return distanceAbs;
  20. }
  21. function distanceTo(point)
  22. {
  23.    var _loc2_ = (this.a * point.x + this.b * point.y + this.c) / this.module - point._width / 2;
  24.    return _loc2_;
  25. }
  26. function getIntersection(a, b, c)
  27. {
  28.    var _loc2_ = new Object();
  29.    _loc2_.x0 = (- (this.c * b - c * this.b)) / (this.a * b - a * this.b);
  30.    _loc2_.y0 = (this.c * a - c * this.a) / (this.a * b - a * this.b);
  31.    return _loc2_;
  32. }
  33. function isPartSegment(x0, y0)
  34. {
  35.    if(x0 < this.x1 && x0 < this.x2 || this.x1 < x0 && this.x2 < x0 || y0 < this.y1 && y0 < this.y2 || this.y1 < y0 && this.y2 < y0)
  36.    {
  37.       return false;
  38.    }
  39.    return true;
  40. }
  41. function isPossibleTarget(myBall)
  42. {
  43.    if(!this.active)
  44.    {
  45.       return false;
  46.    }
  47.    var _loc3_ = this.getIntersection(myBall.a,myBall.b,myBall.c);
  48.    var _loc4_ = (this.a * myBall.x + this.b * myBall.y + this.c) / this.module;
  49.    this.cachedDistance = _loc4_ - myBall._width / 2;
  50.    if(!this.isPartSegment(_loc3_.x0,_loc3_.y0))
  51.    {
  52.       if(_loc4_ >= 0 && this.cachedDistance <= 0)
  53.       {
  54.          var _loc5_ = this.a * myBall.x - this.b * myBall.y - this.c;
  55.          var _loc6_ = this.b * myBall.y - this.a * myBall.x - this.c;
  56.          if(this.isPartSegment(_loc5_,_loc6_))
  57.          {
  58.             return true;
  59.          }
  60.       }
  61.       return false;
  62.    }
  63.    if((_loc3_.x0 >= myBall._x && myBall.limit_x >= _loc3_.x0 || myBall._x >= _loc3_.x0 && _loc3_.x0 >= myBall.limit_x) && (_loc3_.y0 >= myBall._y && myBall.limit_y >= _loc3_.y0 || myBall._y >= _loc3_.y0 && _loc3_.y0 >= myBall.limit_y))
  64.    {
  65.       this.isCrossed = true;
  66.       return true;
  67.    }
  68.    this.isCrossed = false;
  69.    return true;
  70. }
  71. function Segment(a, b, c, x1, y1, x2, y2, point1, point2, clipObj)
  72. {
  73.    this.a = a;
  74.    this.b = b;
  75.    this.c = c;
  76.    this.x1 = x1;
  77.    this.y1 = y1;
  78.    this.x2 = x2;
  79.    this.y2 = y2;
  80.    this.point1 = point1;
  81.    this.point2 = point2;
  82.    this.clipObj = clipObj;
  83.    this.module = Math.sqrt(this.a * this.a + this.b * this.b);
  84.    this.angle = Math.acos(this.b / this.module) / 3.141593 * 180;
  85.    if(this.y1 < this.y2)
  86.    {
  87.       this.angle = 180 - this.angle;
  88.    }
  89.    this.active = true;
  90.    this.distanceTo = distanceTo;
  91.    this.distancePoint = distancePoint;
  92.    this.distancePointAbs = distancePointAbs;
  93.    this.isPossibleTarget = isPossibleTarget;
  94.    this.getIntersection = getIntersection;
  95.    this.mark = mark;
  96.    this.isPartSegment = isPartSegment;
  97. }
  98. function mark(flag)
  99. {
  100.    if(flag == 1)
  101.    {
  102.       this.point1.gotoAndStop(2);
  103.       this.point2.gotoAndStop(2);
  104.    }
  105.    else
  106.    {
  107.       this.point1.gotoAndStop(1);
  108.       this.point2.gotoAndStop(1);
  109.    }
  110. }
  111. function getSegment(point1, point2)
  112. {
  113.    var _loc4_ = undefined;
  114.    if(point1._name == "b2" && point2._name == "b3")
  115.    {
  116.       _loc4_ = _root.electricR;
  117.    }
  118.    else if(point1._name == "a2" && point2._name == "a3")
  119.    {
  120.       _loc4_ = _root.electricL;
  121.    }
  122.    else if(point1._name == "d1b" && point2._name == "d1a")
  123.    {
  124.       _loc4_ = _root.holdRight_mc;
  125.    }
  126.    else if(point1._name == "d1a" && point2._name == "d1")
  127.    {
  128.       _loc4_ = _root.holdRight_mc;
  129.    }
  130.    else if(point1._name == "c7" && point2._name == "c8")
  131.    {
  132.       _loc4_ = _root.holdLeft_mc;
  133.    }
  134.    else if(point1._name == "c8" && point2._name == "c1")
  135.    {
  136.       _loc4_ = _root.holdLeft_mc;
  137.    }
  138.    else
  139.    {
  140.       _loc4_ = null;
  141.    }
  142.    var _loc8_ = point1._x;
  143.    var _loc6_ = point1._y;
  144.    var _loc7_ = point2._x;
  145.    var _loc5_ = point2._y;
  146.    var _loc11_ = _loc5_ - _loc6_;
  147.    var _loc10_ = _loc8_ - _loc7_;
  148.    var _loc9_ = (- _loc8_) * _loc5_ + _loc7_ * _loc6_;
  149.    return new Segment(_loc11_,_loc10_,_loc9_,_loc8_,_loc6_,_loc7_,_loc5_,point1,point2,_loc4_);
  150. }
  151. lives = 5;
  152. score = 0;
  153. countSecond = 0;
  154. numeral = 0;
  155. gamenumeral = 0;
  156. bonusHit = 0;
  157. allSegments = new Array();
  158. allSegments1 = new Array();
  159. allSegments2 = new Array();
  160. allBalls = new Array();
  161. allBalls1 = new Array();
  162. allBalls2 = new Array();
  163.